import 'package:xin_he/generated/json/base/json_field.dart';
import 'package:xin_he/generated/json/xin_he_p_c_a_model_entity.g.dart';
import 'dart:convert';

@JsonSerializable()
class XinHePCAModelEntity {
	int? id;
	String? name;
	String? extName;
	List<XinHePCAModelChildren>? children;

	XinHePCAModelEntity();

	factory XinHePCAModelEntity.fromJson(Map<String, dynamic> json) => $XinHePCAModelEntityFromJson(json);

	Map<String, dynamic> toJson() => $XinHePCAModelEntityToJson(this);

	XinHePCAModelEntity copyWith({int? id, String? name, String? extName, List<XinHePCAModelChildren>? children}) {
		return XinHePCAModelEntity()
			..id= id ?? this.id
			..name= name ?? this.name
			..extName= extName ?? this.extName
			..children= children ?? this.children;
	}

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class XinHePCAModelChildren {
	int? id;
	String? name;
	String? extName;
	List<XinHePCAModelChildrenChildren>? children;

	XinHePCAModelChildren();

	factory XinHePCAModelChildren.fromJson(Map<String, dynamic> json) => $XinHePCAModelChildrenFromJson(json);

	Map<String, dynamic> toJson() => $XinHePCAModelChildrenToJson(this);

	XinHePCAModelChildren copyWith({int? id, String? name, String? extName, List<XinHePCAModelChildrenChildren>? children}) {
		return XinHePCAModelChildren()
			..id= id ?? this.id
			..name= name ?? this.name
			..extName= extName ?? this.extName
			..children= children ?? this.children;
	}

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class XinHePCAModelChildrenChildren {
	int? id;
	String? name;
	String? extName;
	List<dynamic>? children;

	XinHePCAModelChildrenChildren();

	factory XinHePCAModelChildrenChildren.fromJson(Map<String, dynamic> json) => $XinHePCAModelChildrenChildrenFromJson(json);

	Map<String, dynamic> toJson() => $XinHePCAModelChildrenChildrenToJson(this);

	XinHePCAModelChildrenChildren copyWith({int? id, String? name, String? extName, List<dynamic>? children}) {
		return XinHePCAModelChildrenChildren()
			..id= id ?? this.id
			..name= name ?? this.name
			..extName= extName ?? this.extName
			..children= children ?? this.children;
	}

	@override
	String toString() {
		return jsonEncode(this);
	}
}